//设备类型映射表，维护时要同时更新中英文
export const DEVICELIST = {
  'Access Control System': '门禁系统',
  'AoIP device': 'AoIP设备',
  'CDN Node': 'CDN节点',
  'Commercial Hotspots': '商业热点',
  'Customer-premises equipment': '无线CPE',
  'DNS server': 'DNS服务器',
  DVR: '硬盘录像机',
  'FTP server': 'FTP服务器',
  'Fax Machine': '传真机',
  GAP: '物理隔离网闸',
  'Home Automation': '智能家居',
  'IBM Server': 'IBM服务器',
  'Identity Authentication System': '身份认证系统',
  'Infected Device': '被感染设备',
  'Internet of Things': '物联网',
  'Media Gateway': '媒体网关',
  'Mobile Agent Server': '移动代理服务器',
  PBX: '专用交换机',
  PDA: '掌上电脑',
  'Personal Computer': '个人电脑',
  'Streaming Media Server': '流媒体服务器',
  'Telephone recording system': '电话录音系统',
  'Unix-like Server': '类Unix服务器',
  'VPN server': 'VPN服务器',
  'Video Conference System': '视频会议系统',
  'Virtualization Platform': '虚拟化平台',
  'VoIP adapter': 'VoIP适配器',
  'VoIP phone': 'VoIP电话',
  WAP: '无线接入点',
  'Web server': 'web服务器',
  'Windows Server': 'Windows服务器',
  'aerospace device': '航天行业设备',
  bridge: '桥接器',
  'broadband router': '宽带路由器',
  'building automation device': '楼宇自动化设备',
  'cloud computing platform': '云计算平台',
  'cloud data warehouse': '云数据库',
  'cloud server': '云服务器',
  'cloud storage': '云存储',
  'database server': '数据库服务器',
  'dual-purpose device': '一机两用设备',
  'education device': '教育行业设备',
  'electric device': '电力行业设备',
  'environment monitoring system': '环境监控系统',
  'finance device': '金融行业设备',
  'fingerprinting device': '指纹识别设备',
  firewall: '防火墙',
  'game console': '电玩',
  'government device': '政府行业设备',
  hub: '集线器',
  'ics device': '工业控制设备',
  'load balancer': '负载均衡',
  'mail server': '邮件服务器',
  'media device': '媒体设备',
  'medical device': '医疗行业设备',
  'military device': '军工行业设备',
  'network behavior management system': '上网行为管理系统',
  'network management system': '网络管理系统',
  'oil device': '石油行业设备',
  phone: '电话',
  'power-misc': '电源杂类',
  'print server': '打印服务器',
  printer: '打印机',
  'proxy server': '代理服务器',
  'remote management': '远程管理',
  router: '路由器',
  'security-misc': '安全杂类',
  specialized: '专用设备',
  'storage-misc': '存储设备',
  switch: '交换机',
  'telecom-misc': '电信行业设备',
  terminal: '终端',
  'terminal server': '终端服务器',
  'traffic device': '交通行业设备',
  'video device': '影音设备',
  'video monitoring system': '视频监控系统',
  webcam: '网络摄像机',
  'general purpose': '通用服务器',
  'power-device': '电源设备'
};

/**
 * 设备类型名称映射
 * 将参数中的设备类型名称转换并返回，中英可互换
 * @param {*} devices 类型可以是 String, Array, Collection
 * Collection内名称字段应为 name
 */
export const transDeviceName = devices => {
  if (!devices) {
    return '';
  }
  let result = [];
  // 字符串类型直接翻译
  if (typeof devices === 'string') {
    return DEVICELIST[devices] || devices;
  }

  result = devices.map(item => {
    // 集合类型
    if (typeof item === 'object') {
      let device = DEVICELIST[item.name];
      if (device) {
        item.name = device;
        return item;
      } else {
        return item;
      }
    }

    // 数组类型
    let device = DEVICELIST[item];
    if (device) {
      return device;
    } else {
      return item;
    }
  });

  return result;
};
